1. Technical Field
The present invention relates to protecting stored and transmitted data from compromise or interception by unauthorized parties. More particularly, the present invention relates to an improved method and apparatus for establishing authentication of a remote data transmitting terminal and for encrypting and decrypting data transmitted from an authorized terminal.
2. Discussion of the Prior Art
The problem of protecting stored and transmitted data from compromise or interception by unauthorized parties has become more acute in recent years. Incidents involving the use of computers for bank theft, governmental and industrial espionage, and mere vandalism have been widely reported. Consequently, there has been considerable research and developement activity directed to techniques for securing stored and transmitted data in a manner such that privacy is secured and authentication of system users is reliable, but at a reasonable cost to the user and without limiting the intended use of the transmission and storage systems. Examples of activity in this area may be found in the following U.S. Pat. Nos. 3,711,645 (Ehrat); U.S. Pat. No. 3,784,743 (Schroeder); U.S. Pat. No. 3,798,360 (Feistel); U.S. Pat. No. 4,079,195 (Frutiger); U.S. Pat. No. 4,283,599 (Atalla); U.S. Pat. No. 4,288,659 (Atalla); U.S. Pat. No. 4,310,720 (Check, Jr.); U.S. Pat. No. 4,326,098 (Bouricius et al); U.S. Pat. No. 4,349,695 (Morgan); U.S. Pat. No. 4,399,323 (Henry); and U.S. Pat. No. 4,429,180 (Unkenholz). In addition, an excellent background tutorial on the subject is provided by Diffie and Hellman in "Privacy and Authentication; An Introduction to Cryptography", Proceedings of the IEEE, Volume 67, No. 3, March 1979, pages 397-423.
User or terminal authentication is normally achieved with the use of a password. The user enters the password manually from the user's terminal, and, if the entered password matches the stored password at the computer, the computer will communicate with the terminal. Privacy of data transmission, on the other hand, is achieved by encryption and decryption techniques. These techniques employ a key function to encrypt the data before transmission at one end of the communication link, and an inverse of that key function at the other end to decrypt the received encrypted data.
The simple password approach to terminal authentication leaves much to be desired. An outside computer can be employed to effect reiterative attempts at access to a system using a different password with each attempt. Many password codes have been broken by this technique. Moreover, an eavesdropper on the transmission link can readily determine an access password from the intercepted data stream. If the password is frequently changed in order to baffle unauthorized access, authorized users must be informed of the changes and often spend considerable time retrieving the written password from a safe or other secure area.
The purpose of encryption is to prevent an eavesdropper or intercepter of the transmitted data from deciphering the intercepted data, and to prevent entry of information into a computer system unless the information is properly encrypted. Encryption techniques have varying degrees of security, depending upon how complex and economical it would be to perform successful cryptanalytic operations on intercepted data. Certainly, a fixed key is more easily broken than a key which varies. Further, if a key varies in an easily determined manner, successful cryptanalysis is feasible. For this reason Diffe and Hellman state, in their above-referenced article, that the only unconditionally secure system is one in which the plaintext or raw data is combined with a totally random key of the same length. However, the use of a random key requires synchronization between the transmitting and receiving stations in order that the received randomly encrypted data can be decrypted at the receiving station. Often, this sychronization requires transmission of the random key.